package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.Version;
import com.ruoyi.common.base.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户表 wdy_user
 * 
 * @author ruoyi
 * @date 2019-12-27
 */
public class WdyUser extends BaseEntity
{
	private static final long serialVersionUID = 1L;
	public static final String WALLET_PWD = "123456";
	public static final String WALLET_DIR = "/eth/wallet";
	/** id */
		private Long id;
	/** 用户id */
		private String userId;
	/** 昵称 */
		private String nickName;
	/** 头像 */
		private String headImg;
	/** 用户名 */
		private String userName;
	/** 手机号码 */
		private String mobilePhone;
	/** 邮箱 */
		private String email;
	/** 密码 */
		private String password;
	/** 实名认证(0否，1是) */
		private Integer certified;
	/** 姓名 */
		private String realName;
	/** 证件号码 */
		private String idCardNo;
	/** 交易密码 */
		private String tradePassword;
	/** cnn余额 */
		private BigDecimal cnnAmount;
	/** cnn可提现余额 */
		private BigDecimal cnnWithdrawAmount;
	/** vc余额 */
		private BigDecimal vcAmount;
	/** vc消费资产 */
		private BigDecimal vcConsumeAmount;
	/** vc理财资产 */
		private BigDecimal vcWithdrawAmount;
		/**vc 基金资产*/
		private BigDecimal vcFundAsset;
		/**eth余额*/
		private BigDecimal ethAmount;
		/**usdt余额*/
		private BigDecimal usdtAmount;
	/** 邀请码 */
		private String referrerCode;
	/** 推荐人id */
		private String referrerId;
	/** 领导人id */
		private String leaderId;
	/** 等级 */
		private Integer level;
	/** 钱包地址 */
	private String walletAddress;
	/** 钱包密钥*/
	private String walletPrivateKey;
	/** 版本号 */
	@Version
		private Long version;
	/** 删除标志（0代表存在 1代表删除） */
		private Integer delFlag;
	/** 创建者 */
		private String createBy;
	/** 创建时间 */
	    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
		private Date createTime;
	/** 更新者 */
		private String updateBy;
	/** 更新时间 */
	    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
		private Date updateTime;
	/** 备注信息 */
		private String remark;

	public void setId(Long id) 
	{
		this.id = id;
	}

	public Long getId() 
	{
		return id;
	}
	public void setUserId(String userId) 
	{
		this.userId = userId;
	}

	public String getUserId() 
	{
		return userId;
	}
	public void setNickName(String nickName) 
	{
		this.nickName = nickName;
	}

	public String getNickName() 
	{
		return nickName;
	}
	public void setHeadImg(String headImg) 
	{
		this.headImg = headImg;
	}

	public String getHeadImg() 
	{
		return headImg;
	}
	public void setUserName(String userName) 
	{
		this.userName = userName;
	}

	public String getUserName() 
	{
		return userName;
	}
	public void setMobilePhone(String mobilePhone) 
	{
		this.mobilePhone = mobilePhone;
	}

	public String getMobilePhone() 
	{
		return mobilePhone;
	}
	public void setEmail(String email) 
	{
		this.email = email;
	}

	public String getEmail() 
	{
		return email;
	}
	public void setPassword(String password) 
	{
		this.password = password;
	}

	public String getPassword() 
	{
		return password;
	}
	public void setCertified(Integer certified) 
	{
		this.certified = certified;
	}

	public Integer getCertified() 
	{
		return certified;
	}
	public void setRealName(String realName) 
	{
		this.realName = realName;
	}

	public String getRealName() 
	{
		return realName;
	}
	public void setIdCardNo(String idCardNo) 
	{
		this.idCardNo = idCardNo;
	}

	public String getIdCardNo() 
	{
		return idCardNo;
	}
	public void setTradePassword(String tradePassword) 
	{
		this.tradePassword = tradePassword;
	}

	public String getTradePassword() 
	{
		return tradePassword;
	}
	public void setCnnAmount(BigDecimal cnnAmount) 
	{
		this.cnnAmount = cnnAmount;
	}

	public BigDecimal getCnnAmount() 
	{
		return cnnAmount;
	}
	public void setCnnWithdrawAmount(BigDecimal cnnWithdrawAmount) 
	{
		this.cnnWithdrawAmount = cnnWithdrawAmount;
	}

	public BigDecimal getCnnWithdrawAmount() 
	{
		return cnnWithdrawAmount;
	}
	public void setVcAmount(BigDecimal vcAmount) 
	{
		this.vcAmount = vcAmount;
	}

	public BigDecimal getVcAmount() 
	{
		return vcAmount;
	}
	public void setVcConsumeAmount(BigDecimal vcConsumeAmount) 
	{
		this.vcConsumeAmount = vcConsumeAmount;
	}

	public BigDecimal getVcConsumeAmount() 
	{
		return vcConsumeAmount;
	}
	public void setVcWithdrawAmount(BigDecimal vcWithdrawAmount) 
	{
		this.vcWithdrawAmount = vcWithdrawAmount;
	}

	public BigDecimal getVcWithdrawAmount() 
	{
		return vcWithdrawAmount;
	}

	public BigDecimal getVcFundAsset() {
		return vcFundAsset;
	}

	public void setVcFundAsset(BigDecimal vcFundAsset) {
		this.vcFundAsset = vcFundAsset;
	}

	public void setReferrerCode(String referrerCode)
	{
		this.referrerCode = referrerCode;
	}

	public String getReferrerCode() 
	{
		return referrerCode;
	}
	public void setReferrerId(String referrerId) 
	{
		this.referrerId = referrerId;
	}

	public String getReferrerId() 
	{
		return referrerId;
	}
	public void setLeaderId(String leaderId) 
	{
		this.leaderId = leaderId;
	}

	public String getLeaderId() 
	{
		return leaderId;
	}
	public void setLevel(Integer level) 
	{
		this.level = level;
	}

	public Integer getLevel() 
	{
		return level;
	}

	public String getWalletAddress() {
		return walletAddress;
	}

	public void setWalletAddress(String walletAddress) {
		this.walletAddress = walletAddress;
	}

	public String getWalletPrivateKey() {
		return walletPrivateKey;
	}

	public void setWalletPrivateKey(String walletPrivateKey) {
		this.walletPrivateKey = walletPrivateKey;
	}

	public void setVersion(Long version)
	{
		this.version = version;
	}

	public Long getVersion() 
	{
		return version;
	}
	public void setDelFlag(Integer delFlag) 
	{
		this.delFlag = delFlag;
	}

	public Integer getDelFlag() 
	{
		return delFlag;
	}
	public void setCreateBy(String createBy) 
	{
		this.createBy = createBy;
	}

	public String getCreateBy() 
	{
		return createBy;
	}
	public void setCreateTime(Date createTime) 
	{
		this.createTime = createTime;
	}

	public Date getCreateTime() 
	{
		return createTime;
	}
	public void setUpdateBy(String updateBy) 
	{
		this.updateBy = updateBy;
	}

	public String getUpdateBy() 
	{
		return updateBy;
	}
	public void setUpdateTime(Date updateTime) 
	{
		this.updateTime = updateTime;
	}

	public Date getUpdateTime() 
	{
		return updateTime;
	}
	public void setRemark(String remark) 
	{
		this.remark = remark;
	}

	public String getRemark() 
	{
		return remark;
	}

	public BigDecimal getEthAmount() {
		return ethAmount;
	}

	public void setEthAmount(BigDecimal ethAmount) {
		this.ethAmount = ethAmount;
	}

	public BigDecimal getUsdtAmount() {
		return usdtAmount;
	}

	public void setUsdtAmount(BigDecimal usdtAmount) {
		this.usdtAmount = usdtAmount;
	}

	public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("nickName", getNickName())
            .append("headImg", getHeadImg())
            .append("userName", getUserName())
            .append("mobilePhone", getMobilePhone())
            .append("email", getEmail())
            .append("password", getPassword())
            .append("certified", getCertified())
            .append("realName", getRealName())
            .append("idCardNo", getIdCardNo())
            .append("tradePassword", getTradePassword())
            .append("cnnAmount", getCnnAmount())
            .append("cnnWithdrawAmount", getCnnWithdrawAmount())
            .append("vcAmount", getVcAmount())
            .append("vcConsumeAmount", getVcConsumeAmount())
            .append("vcWithdrawAmount", getVcWithdrawAmount())
            .append("referrerCode", getReferrerCode())
            .append("referrerId", getReferrerId())
            .append("leaderId", getLeaderId())
            .append("level", getLevel())
            .append("version", getVersion())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
